
#include <librally.h>

typedef struct Config {
	char *log_dir;
	Log_Level log_level;
} Config;

Config config;

Err rp_config_init()
{
	Err err;
	KeyValue *cfgv;
	int cfgc = 2;

	cfgv = (KeyValue*)calloc(cfgc, sizeof(KeyValue));
	cfgv[0].key = "LogDir";
	cfgv[1].key = "LogLevel";
	cfgv[0].value = NULL;
	cfgv[1].value = NULL;

	err = rp_config_common(cfgv, cfgc);

	config.log_dir = strdup(cfgv[0].value);
	if (strcmp(cfgv[1].value, "LOG_DEBUG") == 0) 
		config.log_level = LOG_DEBUG;

	int i;
	for (i=0; i<cfgc; i++)
	{
		free(cfgv[i].value);
	}
	free(cfgv);
	return E_OK;
}

int main()
{
	Err err;

	err = rp_config_init();
	err = rp_log_init(config.log_dir, "test.log", config.log_level);

	rp_log(LOG_INFO, "main", "Info log");
	rp_log(LOG_CRITICAL, "main", "Critical log");
	
	return 0;
}
